package com.tangyuan.video.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tangyuan.common.result.Result;
import com.tangyuan.common.result.ResultCodeEnum;
import com.tangyuan.dto.VideoPublisherDto;
import com.tangyuan.model.Video;

import java.util.List;

public interface VideoService extends IService<Video> {

    Video getVideoById(Long videoId, Long userId);

    List<Video> getVideoByIds(List<Long> videoIds, Long userId);

    Result<ResultCodeEnum> deleteById(Long videoId, Long userId);

    Result topMyVideo(Long videoId, Long userId);

    List<Video> getVideoInfo(Long userId,String name, Integer pageNum, Integer pageSize);

    List<Video> getMyVideoByUserId(Long myUserId,Long userId, Integer pageNum, Integer pageSize);

    Long getVideoThumpNum(Long userId);

    List<Video> getMyTrumpVideo(Long userId, Integer pageNum, Integer pageSize);

    List<Video> getMyCollectVideo(Long userId, Integer pageNum, Integer pageSize);

    void updateUserVideoMessage(VideoPublisherDto dto);

    Page<Video> getMyActionVideo(Long userId, Integer pageNum, Integer pageSize);
}
